<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>样式绑定</title>
    <script type="text/javascript" src="js/vue.js"></script>
    <style>
        .basic{
            width: 400px;
            height: 100px;
            border: 1px solid black;
        }

        .happy{
            border: 4px solid red;
            background-color: rgba(255, 255, 0, 0.664);
            background: linear-gradient(30deg,yellow,pink,orange,yellow);
        }

        .sad{
            border: 4px dashed green;
            background-color: gray;
        }

        .normal{
            background-color: skyblue;
        }

        .y1{
            background-color: yellowgreen;
        }

        .y2{
            font-size: 30px;
            text-shadow: 2px 2px 10px red;
        }

        .y3{
            border-radius: 20px;
        }
    </style>
</head>
<body>
    <div id="app">
        <!--字符串写法，适用于：样式的类名不确定，需要动态指定-->
        <div class="basic" :class="styleName" @click="change">{{name}}</div>
        <br/><br/>
        <!--数组写法，适用于：要绑定的样式个数不确定、名字也不确定-->
        <div class="basic" :class="styleNameArr">{{name}}</div>
        <br/><br/>
        <!--对象写法，适用于：要绑定的样式个数确定、名字也确定，但要动态决定某个样式用不用-->
        <div class="basic" :class="styleNameArr2">{{name}}</div>
    </div>

    <script type="text/javascript">
        new Vue({
            el: '#app',
            data() {
                return {
                    name: "wjz",
                    styleName: "happy",
                    styleNameArr: ['y1','y2','y3'],
                    styleNameArr2: {
                        y1: true,
                        y2: false
                    }
                }
            },
            methods: {
                change(){
                    let arr = ['happy','sad','normal'];
                    let index = Math.floor(Math.random()*3);
                    console.log(index);
                    this.styleName = arr[index];
                }
            },
        })
    </script>
    
</body>
</html>